{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div class=\"bk-root\">\n",
       "        <a href=\"http://bokeh.pydata.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
       "        <span id=\"301998ae-1c19-48c5-92a9-7ca6df965aca\">Loading BokehJS ...</span>\n",
       "    </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "(function(global) {\n",
       "  function now() {\n",
       "    return new Date();\n",
       "  }\n",
       "\n",
       "  var force = \"1\";\n",
       "\n",
       "  if (typeof (window._bokeh_onload_callbacks) === \"undefined\" || force !== \"\") {\n",
       "    window._bokeh_onload_callbacks = [];\n",
       "    window._bokeh_is_loading = undefined;\n",
       "  }\n",
       "\n",
       "  function run_callbacks() {\n",
       "    window._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n",
       "    delete window._bokeh_onload_callbacks\n",
       "    console.info(\"Bokeh: all callbacks have finished\");\n",
       "  }\n",
       "\n",
       "  function load_libs(js_urls, callback) {\n",
       "    window._bokeh_onload_callbacks.push(callback);\n",
       "    if (window._bokeh_is_loading > 0) {\n",
       "      console.log(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
       "      return null;\n",
       "    }\n",
       "    if (js_urls == null || js_urls.length === 0) {\n",
       "      run_callbacks();\n",
       "      return null;\n",
       "    }\n",
       "    console.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
       "    window._bokeh_is_loading = js_urls.length;\n",
       "    for (var i = 0; i < js_urls.length; i++) {\n",
       "      var url = js_urls[i];\n",
       "      var s = document.createElement('script');\n",
       "      s.src = url;\n",
       "      s.async = false;\n",
       "      s.onreadystatechange = s.onload = function() {\n",
       "        window._bokeh_is_loading--;\n",
       "        if (window._bokeh_is_loading === 0) {\n",
       "          console.log(\"Bokeh: all BokehJS libraries loaded\");\n",
       "          run_callbacks()\n",
       "        }\n",
       "      };\n",
       "      s.onerror = function() {\n",
       "        console.warn(\"failed to load library \" + url);\n",
       "      };\n",
       "      console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
       "      document.getElementsByTagName(\"head\")[0].appendChild(s);\n",
       "    }\n",
       "  };\n",
       "\n",
       "  var js_urls = ['https://cdn.pydata.org/bokeh/release/bokeh-0.12.1.min.js', 'https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.1.min.js', 'https://cdn.pydata.org/bokeh/release/bokeh-compiler-0.12.1.min.js'];\n",
       "\n",
       "  var inline_js = [\n",
       "    function(Bokeh) {\n",
       "      Bokeh.set_log_level(\"info\");\n",
       "    },\n",
       "    \n",
       "    function(Bokeh) {\n",
       "      \n",
       "      Bokeh.$(\"#301998ae-1c19-48c5-92a9-7ca6df965aca\").text(\"BokehJS successfully loaded\");\n",
       "      var kernel = Jupyter.notebook.kernel\n",
       "      if (kernel.execute !== undefined) {\n",
       "          kernel.execute(\"import bokeh.io; bokeh.io._nb_loaded = True\");\n",
       "      }\n",
       "    },\n",
       "    function(Bokeh) {\n",
       "      console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-0.12.1.min.css\");\n",
       "      Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-0.12.1.min.css\");\n",
       "      console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.1.min.css\");\n",
       "      Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.1.min.css\");\n",
       "    }\n",
       "  ];\n",
       "\n",
       "  function run_inline_js() {\n",
       "    for (var i = 0; i < inline_js.length; i++) {\n",
       "      inline_js[i](window.Bokeh);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  if (window._bokeh_is_loading === 0) {\n",
       "    console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
       "    run_inline_js();\n",
       "  } else {\n",
       "    load_libs(js_urls, function() {\n",
       "      console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n",
       "      run_inline_js();\n",
       "    });\n",
       "  }\n",
       "}(this));"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "from bokeh.layouts import gridplot\n",
    "from bokeh.plotting import figure, output_notebook, show\n",
    "\n",
    "# output to static HTML file\n",
    "output_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "    <div class=\"bk-root\">\n",
       "        <div class=\"plotdiv\" id=\"2eab3d1f-3fb4-49e7-b76f-f2132d2e1ebd\"></div>\n",
       "    </div>\n",
       "<script type=\"text/javascript\">\n",
       "  \n",
       "  (function(global) {\n",
       "    function now() {\n",
       "      return new Date();\n",
       "    }\n",
       "  \n",
       "    var force = \"\";\n",
       "  \n",
       "    if (typeof (window._bokeh_onload_callbacks) === \"undefined\" || force !== \"\") {\n",
       "      window._bokeh_onload_callbacks = [];\n",
       "      window._bokeh_is_loading = undefined;\n",
       "    }\n",
       "  \n",
       "    function run_callbacks() {\n",
       "      window._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n",
       "      delete window._bokeh_onload_callbacks\n",
       "      console.info(\"Bokeh: all callbacks have finished\");\n",
       "    }\n",
       "  \n",
       "    function load_libs(js_urls, callback) {\n",
       "      window._bokeh_onload_callbacks.push(callback);\n",
       "      if (window._bokeh_is_loading > 0) {\n",
       "        console.log(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
       "        return null;\n",
       "      }\n",
       "      if (js_urls == null || js_urls.length === 0) {\n",
       "        run_callbacks();\n",
       "        return null;\n",
       "      }\n",
       "      console.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
       "      window._bokeh_is_loading = js_urls.length;\n",
       "      for (var i = 0; i < js_urls.length; i++) {\n",
       "        var url = js_urls[i];\n",
       "        var s = document.createElement('script');\n",
       "        s.src = url;\n",
       "        s.async = false;\n",
       "        s.onreadystatechange = s.onload = function() {\n",
       "          window._bokeh_is_loading--;\n",
       "          if (window._bokeh_is_loading === 0) {\n",
       "            console.log(\"Bokeh: all BokehJS libraries loaded\");\n",
       "            run_callbacks()\n",
       "          }\n",
       "        };\n",
       "        s.onerror = function() {\n",
       "          console.warn(\"failed to load library \" + url);\n",
       "        };\n",
       "        console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
       "        document.getElementsByTagName(\"head\")[0].appendChild(s);\n",
       "      }\n",
       "    };var element = document.getElementById(\"2eab3d1f-3fb4-49e7-b76f-f2132d2e1ebd\");\n",
       "    if (element == null) {\n",
       "      console.log(\"Bokeh: ERROR: autoload.js configured with elementid '2eab3d1f-3fb4-49e7-b76f-f2132d2e1ebd' but no matching script tag was found. \")\n",
       "      return false;\n",
       "    }\n",
       "  \n",
       "    var js_urls = [];\n",
       "  \n",
       "    var inline_js = [\n",
       "      function(Bokeh) {\n",
       "        Bokeh.$(function() {\n",
       "            var docs_json = {\"a5777d7d-c3ac-45ca-a58b-82d27184fc0e\":{\"roots\":{\"references\":[{\"attributes\":{},\"id\":\"5a1936f7-065a-4e7c-b476-7f0a3d5c073b\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"86b360b0-4d65-4113-b82e-c70b8d784652\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null},\"id\":\"25fe2a19-1446-4575-b77a-e7406ea67a05\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"f2100779-558f-48cc-ba8e-a23ce0508050\",\"type\":\"SaveTool\"},{\"attributes\":{\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b1e17c80-c152-4ebe-aa76-acfa3b6caa6d\",\"type\":\"BasicTicker\"}},\"id\":\"e18ae4ea-8a67-4711-8b96-cb947e53ebea\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"f5cb76a8-8c3e-4ab3-b69b-f2300986037d\",\"type\":\"Triangle\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14f8ef86-2093-49e0-91cf-57062648c973\",\"type\":\"BasicTicker\"}},\"id\":\"c64c31d7-798b-49a1-b3e2-cafad26c0a4d\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"c0683699-accd-46dd-9bc0-bd00088c9f7b\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"below\":[{\"id\":\"89ec7b83-6ee5-41d9-8683-88d5a7a8c5e6\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"a693090f-2aed-40d4-bbdd-adf061e79113\",\"type\":\"LinearAxis\"}],\"plot_height\":250,\"plot_width\":250,\"renderers\":[{\"id\":\"89ec7b83-6ee5-41d9-8683-88d5a7a8c5e6\",\"type\":\"LinearAxis\"},{\"id\":\"e18ae4ea-8a67-4711-8b96-cb947e53ebea\",\"type\":\"Grid\"},{\"id\":\"a693090f-2aed-40d4-bbdd-adf061e79113\",\"type\":\"LinearAxis\"},{\"id\":\"c069cd7e-952b-4e5c-8504-dff4e7f280d9\",\"type\":\"Grid\"},{\"id\":\"74164973-d85c-460e-8411-8ba72f614913\",\"type\":\"BoxAnnotation\"},{\"id\":\"d29303c1-5cfe-4f1b-a404-c3eb7ec7bb17\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"719ff493-a396-4eb1-8b16-636836abd066\",\"type\":\"Title\"},\"tool_events\":{\"id\":\"895fbf24-c80c-406a-822a-be2966432140\",\"type\":\"ToolEvents\"},\"toolbar\":{\"id\":\"3364b51b-c6bb-452e-9387-b5c82a5d099f\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"bbca9d32-fe5d-4251-bd97-0c685d466aae\",\"type\":\"DataRange1d\"},\"y_range\":{\"id\":\"e55ec7db-41da-4c37-812c-af153da8d3c5\",\"type\":\"DataRange1d\"}},\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"a02ae6b1-79e4-42fa-8b44-e7681d2c8720\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"plot\":null,\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"74164973-d85c-460e-8411-8ba72f614913\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data_source\":{\"id\":\"727af67a-ff28-49d8-86a9-11b3a8582738\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"6705c867-2001-45d2-9923-edaecd8cdbb6\",\"type\":\"Circle\"},\"hover_glyph\":null,\"nonselection_glyph\":{\"id\":\"67a8eda6-82f8-472e-8d48-5a1839d9bf37\",\"type\":\"Circle\"},\"selection_glyph\":null},\"id\":\"d29303c1-5cfe-4f1b-a404-c3eb7ec7bb17\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"ffcc40e5-9365-42d6-b425-63c99a95c722\",\"type\":\"ToolEvents\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"plot\":null,\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"32ddb9b8-b349-4084-afa3-5235ce2f8209\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"below\":[{\"id\":\"aabc4c70-a376-44d8-89c1-3f2da4ef6a38\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"3573c714-d16d-4573-898b-b2cb9cfbe94b\",\"type\":\"LinearAxis\"}],\"plot_height\":250,\"plot_width\":250,\"renderers\":[{\"id\":\"aabc4c70-a376-44d8-89c1-3f2da4ef6a38\",\"type\":\"LinearAxis\"},{\"id\":\"9073a996-0762-4120-8e47-9dc2febe9ca4\",\"type\":\"Grid\"},{\"id\":\"3573c714-d16d-4573-898b-b2cb9cfbe94b\",\"type\":\"LinearAxis\"},{\"id\":\"c64c31d7-798b-49a1-b3e2-cafad26c0a4d\",\"type\":\"Grid\"},{\"id\":\"32ddb9b8-b349-4084-afa3-5235ce2f8209\",\"type\":\"BoxAnnotation\"},{\"id\":\"85379c4d-c9e7-4979-b960-142630ffcace\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"82410dd2-d58e-4801-a708-1022621003f3\",\"type\":\"Title\"},\"tool_events\":{\"id\":\"45674145-37f8-49b0-9d83-3cfed2af0a62\",\"type\":\"ToolEvents\"},\"toolbar\":{\"id\":\"260d8734-e8d4-4f29-8316-a35fcf67ecda\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"bbca9d32-fe5d-4251-bd97-0c685d466aae\",\"type\":\"DataRange1d\"},\"y_range\":{\"id\":\"25fe2a19-1446-4575-b77a-e7406ea67a05\",\"type\":\"DataRange1d\"}},\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"f7c814f8-55d9-4284-9255-96a9e17128f9\",\"type\":\"PanTool\"},{\"id\":\"37116693-5bff-43df-a978-d90c3943fa5e\",\"type\":\"WheelZoomTool\"},{\"id\":\"181f5fc6-f52e-495e-9dc9-8d431b329423\",\"type\":\"BoxZoomTool\"},{\"id\":\"f2100779-558f-48cc-ba8e-a23ce0508050\",\"type\":\"SaveTool\"},{\"id\":\"16bea831-81ac-4964-8be8-2a97a5da080c\",\"type\":\"ResetTool\"},{\"id\":\"302d2ad9-ba02-4b43-8ef4-3cd99c0eb0a6\",\"type\":\"HelpTool\"}]},\"id\":\"3364b51b-c6bb-452e-9387-b5c82a5d099f\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"67a8eda6-82f8-472e-8d48-5a1839d9bf37\",\"type\":\"Circle\"},{\"attributes\":{\"formatter\":{\"id\":\"de7c2064-1956-47dd-98ed-b801dd8c9110\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ce5db357-6ccc-485d-8e31-37207193663a\",\"type\":\"BasicTicker\"}},\"id\":\"bfc225eb-422f-49bc-a334-d70af33f25ed\",\"type\":\"LinearAxis\"},{\"attributes\":{\"children\":[{\"id\":\"26b6ef2d-42b0-46ac-9bbd-5edf0c41ae86\",\"type\":\"Row\"}]},\"id\":\"6fae3c10-739d-4b3d-b25e-86b31cccbba7\",\"type\":\"Column\"},{\"attributes\":{\"callback\":null},\"id\":\"bbca9d32-fe5d-4251-bd97-0c685d466aae\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"navy\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"navy\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6705c867-2001-45d2-9923-edaecd8cdbb6\",\"type\":\"Circle\"},{\"attributes\":{\"plot\":null,\"text\":null},\"id\":\"f7f5dc19-076a-4fcd-bbc2-7ae7a7948a71\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"987f8efe-f7d1-47da-af1f-d5e0a0eff5ac\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"eb3cee32-a82c-4e8d-94a3-c5acd0adb91c\",\"type\":\"ResetTool\"},{\"attributes\":{\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"f7c814f8-55d9-4284-9255-96a9e17128f9\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"32ddb9b8-b349-4084-afa3-5235ce2f8209\",\"type\":\"BoxAnnotation\"},\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"0c86d360-8157-4dee-980f-7c0602d1b61b\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"45674145-37f8-49b0-9d83-3cfed2af0a62\",\"type\":\"ToolEvents\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"plot\":null,\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"909cafbe-2814-4f84-b97b-310f26d408ca\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"42a9d678-2859-4081-9c1b-1d054ddfa96a\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"x\",\"y\"],\"data\":{\"x\":[0.0,0.12693303650867852,0.25386607301735703,0.3807991095260356,0.5077321460347141,0.6346651825433925,0.7615982190520711,0.8885312555607496,1.0154642920694281,1.1423973285781066,1.269330365086785,1.3962634015954636,1.5231964381041423,1.6501294746128208,1.7770625111214993,1.9039955476301778,2.0309285841388562,2.1578616206475347,2.284794657156213,2.4117276936648917,2.53866073017357,2.6655937666822487,2.792526803190927,2.9194598396996057,3.0463928762082846,3.173325912716963,3.3002589492256416,3.42719198573432,3.5541250222429985,3.681058058751677,3.8079910952603555,3.934924131769034,4.0618571682777125,4.188790204786391,4.3157232412950695,4.442656277803748,4.569589314312426,4.696522350821105,4.823455387329783,4.950388423838462,5.07732146034714,5.204254496855819,5.331187533364497,5.458120569873176,5.585053606381854,5.711986642890533,5.838919679399211,5.96585271590789,6.092785752416569,6.219718788925247,6.346651825433926,6.473584861942604,6.600517898451283,6.727450934959961,6.85438397146864,6.981317007977318,7.108250044485997,7.235183080994675,7.362116117503354,7.489049154012032,7.615982190520711,7.742915227029389,7.869848263538068,7.996781300046746,8.123714336555425,8.250647373064103,8.377580409572783,8.50451344608146,8.631446482590139,8.758379519098817,8.885312555607497,9.012245592116175,9.139178628624853,9.266111665133531,9.39304470164221,9.519977738150889,9.646910774659567,9.773843811168245,9.900776847676925,10.027709884185603,10.15464292069428,10.28157595720296,10.408508993711639,10.535442030220317,10.662375066728995,10.789308103237675,10.916241139746353,11.04317417625503,11.170107212763709,11.297040249272388,11.423973285781067,11.550906322289745,11.677839358798423,11.804772395307102,11.93170543181578,12.058638468324459,12.185571504833138,12.312504541341816,12.439437577850494,12.566370614359172],\"y\":[0.0,0.12659245357374926,0.2511479871810792,0.3716624556603276,0.4861967361004687,0.5929079290546404,0.690079011482112,0.7761464642917568,0.8497254299495144,0.9096319953545183,0.9549022414440739,0.984807753012208,0.998867339183008,0.9968547759519424,0.9788024462147787,0.9450008187146685,0.8959937742913359,0.8325698546347714,0.7557495743542584,0.6667690005162916,0.5670598638627709,0.4582265217274105,0.3420201433256689,0.2203105327865408,0.09505604330418244,-0.03172793349806785,-0.15800139597335008,-0.28173255684142984,-0.40093053540661383,-0.5136773915734064,-0.6181589862206053,-0.7126941713788628,-0.7957618405308321,-0.8660254037844388,-0.9223542941045814,-0.9638421585599422,-0.9898214418809327,-0.9998741276738751,-0.9938384644612541,-0.9718115683235417,-0.9341478602651068,-0.881453363447582,-0.814575952050336,-0.7345917086575331,-0.6427876096865396,-0.5406408174555974,-0.4297949120891719,-0.31203344569848707,-0.18925124436040974,-0.06342391965656452,0.06342391965656491,0.18925124436041013,0.31203344569848745,0.42979491208917153,0.5406408174555979,0.6427876096865393,0.7345917086575334,0.8145759520503355,0.8814533634475821,0.9341478602651067,0.9718115683235418,0.9938384644612541,0.9998741276738751,0.9898214418809328,0.963842158559942,0.9223542941045816,0.8660254037844383,0.7957618405308319,0.7126941713788629,0.6181589862206056,0.5136773915734056,0.40093053540661344,0.2817325568414299,0.15800139597335056,0.03172793349806701,-0.09505604330418284,-0.22031053278654034,-0.342020143325668,-0.45822652172741085,-0.5670598638627709,-0.6667690005162913,-0.7557495743542588,-0.8325698546347716,-0.8959937742913359,-0.9450008187146683,-0.9788024462147789,-0.9968547759519424,-0.998867339183008,-0.9848077530122081,-0.9549022414440737,-0.9096319953545183,-0.8497254299495145,-0.7761464642917573,-0.6900790114821116,-0.5929079290546404,-0.486196736100469,-0.3716624556603267,-0.2511479871810788,-0.1265924535737493,-4.898587196589413e-16]}},\"id\":\"727af67a-ff28-49d8-86a9-11b3a8582738\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"15ac580f-9596-4f25-8096-2b3fd21b3144\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"14f8ef86-2093-49e0-91cf-57062648c973\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"ce5db357-6ccc-485d-8e31-37207193663a\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"x\",\"y\"],\"data\":{\"x\":[0.0,0.12693303650867852,0.25386607301735703,0.3807991095260356,0.5077321460347141,0.6346651825433925,0.7615982190520711,0.8885312555607496,1.0154642920694281,1.1423973285781066,1.269330365086785,1.3962634015954636,1.5231964381041423,1.6501294746128208,1.7770625111214993,1.9039955476301778,2.0309285841388562,2.1578616206475347,2.284794657156213,2.4117276936648917,2.53866073017357,2.6655937666822487,2.792526803190927,2.9194598396996057,3.0463928762082846,3.173325912716963,3.3002589492256416,3.42719198573432,3.5541250222429985,3.681058058751677,3.8079910952603555,3.934924131769034,4.0618571682777125,4.188790204786391,4.3157232412950695,4.442656277803748,4.569589314312426,4.696522350821105,4.823455387329783,4.950388423838462,5.07732146034714,5.204254496855819,5.331187533364497,5.458120569873176,5.585053606381854,5.711986642890533,5.838919679399211,5.96585271590789,6.092785752416569,6.219718788925247,6.346651825433926,6.473584861942604,6.600517898451283,6.727450934959961,6.85438397146864,6.981317007977318,7.108250044485997,7.235183080994675,7.362116117503354,7.489049154012032,7.615982190520711,7.742915227029389,7.869848263538068,7.996781300046746,8.123714336555425,8.250647373064103,8.377580409572783,8.50451344608146,8.631446482590139,8.758379519098817,8.885312555607497,9.012245592116175,9.139178628624853,9.266111665133531,9.39304470164221,9.519977738150889,9.646910774659567,9.773843811168245,9.900776847676925,10.027709884185603,10.15464292069428,10.28157595720296,10.408508993711639,10.535442030220317,10.662375066728995,10.789308103237675,10.916241139746353,11.04317417625503,11.170107212763709,11.297040249272388,11.423973285781067,11.550906322289745,11.677839358798423,11.804772395307102,11.93170543181578,12.058638468324459,12.185571504833138,12.312504541341816,12.439437577850494,12.566370614359172],\"y\":[1.0,1.1185472664045446,1.2190966885774355,1.3000303886764002,1.3600461131702537,1.398178186585699,1.4138130495871821,1.4066991313762793,1.3769508975600169,1.3250470083564048,1.2518226167723487,1.1584559306791384,1.0464492550067501,0.9176048190951538,0.773995778149588,0.6179328553972467,0.45192716168556174,0.27864979076866114,0.10088884040897339,-0.07849544915946305,-0.25661671756706184,-0.43060892692751285,-0.5976724774602394,-0.7551192540988663,-0.9004158792689021,-1.031224475881253,-1.1454402846497445,-1.2412255304559272,-1.3170389928386834,-1.3716608048083834,-1.4042120809633927,-1.414169059085184,-1.4013715276684988,-1.3660254037844384,-1.30869941979771,-1.2303159722499768,-1.1321362801542179,-1.0157400915086827,-0.8830002645602433,-0.7360526328141141,-0.5772616386732351,-0.40918228867489903,-0.23451904247913802,-0.0560822971004008,0.12325683343243832,0.30061271537558376,0.47313162619744914,0.6380376720424583,0.7926774529022971,0.9345627568153199,1.0614105961284492,1.1711799416231168,1.2621045634394328,1.332721450375793,1.3818943502867789,1.4088320528055174,1.4131011202146655,1.3946328616215338,1.3537244382202647,1.2910340818569788,1.207570503832969,1.1046766643622654,0.9840081638390671,0.8475066036076481,0.6973683448699071,0.5360091684114534,0.3660254037844376,0.19015215339316494,0.011219283672541769,-0.16789410852218156,-0.34430602166157176,-0.5151779220254562,-0.6777604167730675,-0.8294374927030437,-0.9677686088851182,-1.0905279658772675,-1.1957403196719474,-1.2817127641115766,-1.347061970382334,-1.3907364452926037,-1.4120334501920464,-1.4106103082995434,-1.3864899185008817,-1.3400603868971102,-1.2720687820320906,-1.1836091142799687,-1.0761047328087305,-0.9512854233592658,-0.8111595753452784,-0.6579818661157981,-0.49421698235263173,-0.32249996233901235,-0.14559379720723542,0.03365502662295894,0.21236232847641823,0.38765264096931584,0.5567054773557463,0.7168007142152776,0.8653623592570461,0.9999999999999996]}},\"id\":\"11a75946-219d-4ba1-8c6f-bdb1317c1e0c\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"children\":[{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"26b6ef2d-42b0-46ac-9bbd-5edf0c41ae86\",\"type\":\"Row\"},{\"attributes\":{\"formatter\":{\"id\":\"987f8efe-f7d1-47da-af1f-d5e0a0eff5ac\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14f8ef86-2093-49e0-91cf-57062648c973\",\"type\":\"BasicTicker\"}},\"id\":\"3573c714-d16d-4573-898b-b2cb9cfbe94b\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"16bea831-81ac-4964-8be8-2a97a5da080c\",\"type\":\"ResetTool\"},{\"attributes\":{\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b76df63f-e55d-4934-9dd8-51bf79ba570a\",\"type\":\"BasicTicker\"}},\"id\":\"4b523fd6-b014-4219-b2ff-f03c14548ba9\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"84b3cbe9-0753-475d-86ed-f7bf5233f157\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"909cafbe-2814-4f84-b97b-310f26d408ca\",\"type\":\"BoxAnnotation\"},\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"89fa5f72-f110-47d9-a098-fb188cb16e0a\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"b76df63f-e55d-4934-9dd8-51bf79ba570a\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"895fbf24-c80c-406a-822a-be2966432140\",\"type\":\"ToolEvents\"},{\"attributes\":{\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"05816d07-582d-4c31-bdb2-c5e9593c0f85\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"291e7e38-904f-4203-8c07-9fb1b6af981a\",\"type\":\"BasicTicker\"},{\"attributes\":{\"overlay\":{\"id\":\"74164973-d85c-460e-8411-8ba72f614913\",\"type\":\"BoxAnnotation\"},\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"181f5fc6-f52e-495e-9dc9-8d431b329423\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"86b360b0-4d65-4113-b82e-c70b8d784652\",\"type\":\"PanTool\"},{\"id\":\"15ac580f-9596-4f25-8096-2b3fd21b3144\",\"type\":\"WheelZoomTool\"},{\"id\":\"0c86d360-8157-4dee-980f-7c0602d1b61b\",\"type\":\"BoxZoomTool\"},{\"id\":\"42a9d678-2859-4081-9c1b-1d054ddfa96a\",\"type\":\"SaveTool\"},{\"id\":\"2310bbe5-96df-4fdb-b1a3-8dccc1d4d5be\",\"type\":\"ResetTool\"},{\"id\":\"f8d0516f-7207-49ad-8a5a-23639a115b8a\",\"type\":\"HelpTool\"}]},\"id\":\"260d8734-e8d4-4f29-8316-a35fcf67ecda\",\"type\":\"Toolbar\"},{\"attributes\":{\"data_source\":{\"id\":\"11a75946-219d-4ba1-8c6f-bdb1317c1e0c\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2a626673-2fcd-4980-8190-cb44aa4e54b7\",\"type\":\"Square\"},\"hover_glyph\":null,\"nonselection_glyph\":{\"id\":\"b57d312f-05fb-42b5-a581-25eedae5f1e0\",\"type\":\"Square\"},\"selection_glyph\":null},\"id\":\"85379c4d-c9e7-4979-b960-142630ffcace\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"b213b3a9-e06b-42ea-aacb-b66367b54b24\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"291e7e38-904f-4203-8c07-9fb1b6af981a\",\"type\":\"BasicTicker\"}},\"id\":\"c069cd7e-952b-4e5c-8504-dff4e7f280d9\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"6fe9e7e8-82fc-487d-8e4a-b24b22379933\",\"type\":\"BasicTicker\"}},\"id\":\"9073a996-0762-4120-8e47-9dc2febe9ca4\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"de7c2064-1956-47dd-98ed-b801dd8c9110\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"b213b3a9-e06b-42ea-aacb-b66367b54b24\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b76df63f-e55d-4934-9dd8-51bf79ba570a\",\"type\":\"BasicTicker\"}},\"id\":\"339a2438-804b-418b-a21f-a6294992810e\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null},\"id\":\"e55ec7db-41da-4c37-812c-af153da8d3c5\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"b1e17c80-c152-4ebe-aa76-acfa3b6caa6d\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"x\",\"y\"],\"data\":{\"x\":[0.0,0.12693303650867852,0.25386607301735703,0.3807991095260356,0.5077321460347141,0.6346651825433925,0.7615982190520711,0.8885312555607496,1.0154642920694281,1.1423973285781066,1.269330365086785,1.3962634015954636,1.5231964381041423,1.6501294746128208,1.7770625111214993,1.9039955476301778,2.0309285841388562,2.1578616206475347,2.284794657156213,2.4117276936648917,2.53866073017357,2.6655937666822487,2.792526803190927,2.9194598396996057,3.0463928762082846,3.173325912716963,3.3002589492256416,3.42719198573432,3.5541250222429985,3.681058058751677,3.8079910952603555,3.934924131769034,4.0618571682777125,4.188790204786391,4.3157232412950695,4.442656277803748,4.569589314312426,4.696522350821105,4.823455387329783,4.950388423838462,5.07732146034714,5.204254496855819,5.331187533364497,5.458120569873176,5.585053606381854,5.711986642890533,5.838919679399211,5.96585271590789,6.092785752416569,6.219718788925247,6.346651825433926,6.473584861942604,6.600517898451283,6.727450934959961,6.85438397146864,6.981317007977318,7.108250044485997,7.235183080994675,7.362116117503354,7.489049154012032,7.615982190520711,7.742915227029389,7.869848263538068,7.996781300046746,8.123714336555425,8.250647373064103,8.377580409572783,8.50451344608146,8.631446482590139,8.758379519098817,8.885312555607497,9.012245592116175,9.139178628624853,9.266111665133531,9.39304470164221,9.519977738150889,9.646910774659567,9.773843811168245,9.900776847676925,10.027709884185603,10.15464292069428,10.28157595720296,10.408508993711639,10.535442030220317,10.662375066728995,10.789308103237675,10.916241139746353,11.04317417625503,11.170107212763709,11.297040249272388,11.423973285781067,11.550906322289745,11.677839358798423,11.804772395307102,11.93170543181578,12.058638468324459,12.185571504833138,12.312504541341816,12.439437577850494,12.566370614359172],\"y\":[1.0,0.9919548128307953,0.9679487013963562,0.9283679330160726,0.8738493770697849,0.8052702575310586,0.7237340381050701,0.6305526670845225,0.5272254676105025,0.41541501300188644,0.2969203753282749,0.17364817766693041,0.04758191582374218,-0.07924995685678855,-0.20480666806519074,-0.32706796331742166,-0.4440666126057741,-0.5539200638661103,-0.654860733945285,-0.7452644496757547,-0.8236765814298327,-0.8888354486549234,-0.9396926207859083,-0.975429786885407,-0.9954719225730846,-0.9994965423831851,-0.9874388886763943,-0.9594929736144974,-0.9161084574320696,-0.857983413234977,-0.7860530947427874,-0.7014748877063213,-0.6056096871376667,-0.49999999999999967,-0.3863451256931287,-0.26647381369003464,-0.14231483827328525,-0.01586596383480761,0.11083819990101086,0.23575893550942748,0.35688622159187167,0.47227107477268293,0.5800569095711979,0.6785094115571323,0.7660444431189779,0.8412535328311812,0.9029265382866211,0.9500711177409454,0.9819286972627068,0.9979866764718844,0.9979866764718843,0.9819286972627067,0.9500711177409452,0.9029265382866213,0.841253532831181,0.7660444431189781,0.6785094115571321,0.5800569095711984,0.4722710747726826,0.3568862215918721,0.2357589355094271,0.11083819990101135,-0.015865963834808008,-0.14231483827328475,-0.266473813690035,-0.3863451256931282,-0.5000000000000007,-0.6056096871376669,-0.7014748877063212,-0.7860530947427872,-0.8579834132349774,-0.9161084574320697,-0.9594929736144974,-0.9874388886763943,-0.9994965423831852,-0.9954719225730846,-0.9754297868854072,-0.9396926207859086,-0.8888354486549233,-0.8236765814298327,-0.745264449675755,-0.6548607339452844,-0.5539200638661099,-0.4440666126057742,-0.32706796331742216,-0.2048066680651899,-0.07924995685678815,0.04758191582374213,0.17364817766692975,0.2969203753282755,0.4154150130018866,0.5272254676105022,0.6305526670845218,0.7237340381050705,0.8052702575310586,0.8738493770697848,0.9283679330160729,0.9679487013963564,0.9919548128307953,1.0]}},\"id\":\"751d9556-3b1c-41ae-ad3f-0288b2dbf491\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"b57d312f-05fb-42b5-a581-25eedae5f1e0\",\"type\":\"Square\"},{\"attributes\":{\"plot\":null,\"text\":null},\"id\":\"719ff493-a396-4eb1-8b16-636836abd066\",\"type\":\"Title\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"olive\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"olive\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2a626673-2fcd-4980-8190-cb44aa4e54b7\",\"type\":\"Square\"},{\"attributes\":{\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"2310bbe5-96df-4fdb-b1a3-8dccc1d4d5be\",\"type\":\"ResetTool\"},{\"attributes\":{\"formatter\":{\"id\":\"84b3cbe9-0753-475d-86ed-f7bf5233f157\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"291e7e38-904f-4203-8c07-9fb1b6af981a\",\"type\":\"BasicTicker\"}},\"id\":\"a693090f-2aed-40d4-bbdd-adf061e79113\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"f8d0516f-7207-49ad-8a5a-23639a115b8a\",\"type\":\"HelpTool\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ce5db357-6ccc-485d-8e31-37207193663a\",\"type\":\"BasicTicker\"}},\"id\":\"19323079-1ed1-4c50-be1b-627b609ae6ab\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"5a1936f7-065a-4e7c-b476-7f0a3d5c073b\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"f1b91a4b-5342-4bc0-9cd0-4fddb14eec61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"6fe9e7e8-82fc-487d-8e4a-b24b22379933\",\"type\":\"BasicTicker\"}},\"id\":\"aabc4c70-a376-44d8-89c1-3f2da4ef6a38\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"751d9556-3b1c-41ae-ad3f-0288b2dbf491\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"69415515-765b-446b-9a1a-9ab1e450c1d5\",\"type\":\"Triangle\"},\"hover_glyph\":null,\"nonselection_glyph\":{\"id\":\"f5cb76a8-8c3e-4ab3-b69b-f2300986037d\",\"type\":\"Triangle\"},\"selection_glyph\":null},\"id\":\"9df10e8e-3462-405f-9612-8856815a416d\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"df471f7a-be0a-4f87-b1cc-9fdc1d3e9f60\",\"type\":\"SaveTool\"},{\"attributes\":{\"plot\":{\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"e4f382bd-5c34-4249-ba36-e6af9e516900\",\"type\":\"HelpTool\"},{\"attributes\":{\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"302d2ad9-ba02-4b43-8ef4-3cd99c0eb0a6\",\"type\":\"HelpTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"05816d07-582d-4c31-bdb2-c5e9593c0f85\",\"type\":\"PanTool\"},{\"id\":\"c0683699-accd-46dd-9bc0-bd00088c9f7b\",\"type\":\"WheelZoomTool\"},{\"id\":\"89fa5f72-f110-47d9-a098-fb188cb16e0a\",\"type\":\"BoxZoomTool\"},{\"id\":\"df471f7a-be0a-4f87-b1cc-9fdc1d3e9f60\",\"type\":\"SaveTool\"},{\"id\":\"eb3cee32-a82c-4e8d-94a3-c5acd0adb91c\",\"type\":\"ResetTool\"},{\"id\":\"e4f382bd-5c34-4249-ba36-e6af9e516900\",\"type\":\"HelpTool\"}]},\"id\":\"54cdec63-564e-4739-82ec-e2a07a363f88\",\"type\":\"Toolbar\"},{\"attributes\":{\"below\":[{\"id\":\"339a2438-804b-418b-a21f-a6294992810e\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"bfc225eb-422f-49bc-a334-d70af33f25ed\",\"type\":\"LinearAxis\"}],\"plot_height\":250,\"plot_width\":250,\"renderers\":[{\"id\":\"339a2438-804b-418b-a21f-a6294992810e\",\"type\":\"LinearAxis\"},{\"id\":\"4b523fd6-b014-4219-b2ff-f03c14548ba9\",\"type\":\"Grid\"},{\"id\":\"bfc225eb-422f-49bc-a334-d70af33f25ed\",\"type\":\"LinearAxis\"},{\"id\":\"19323079-1ed1-4c50-be1b-627b609ae6ab\",\"type\":\"Grid\"},{\"id\":\"909cafbe-2814-4f84-b97b-310f26d408ca\",\"type\":\"BoxAnnotation\"},{\"id\":\"9df10e8e-3462-405f-9612-8856815a416d\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"f7f5dc19-076a-4fcd-bbc2-7ae7a7948a71\",\"type\":\"Title\"},\"tool_events\":{\"id\":\"ffcc40e5-9365-42d6-b425-63c99a95c722\",\"type\":\"ToolEvents\"},\"toolbar\":{\"id\":\"54cdec63-564e-4739-82ec-e2a07a363f88\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"bbca9d32-fe5d-4251-bd97-0c685d466aae\",\"type\":\"DataRange1d\"},\"y_range\":{\"id\":\"e55ec7db-41da-4c37-812c-af153da8d3c5\",\"type\":\"DataRange1d\"}},\"id\":\"b3b357a1-01f6-40ba-ad6e-af54af89fc61\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"formatter\":{\"id\":\"a02ae6b1-79e4-42fa-8b44-e7681d2c8720\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b1e17c80-c152-4ebe-aa76-acfa3b6caa6d\",\"type\":\"BasicTicker\"}},\"id\":\"89ec7b83-6ee5-41d9-8683-88d5a7a8c5e6\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":{\"id\":\"7190843e-ed7e-4d9f-8ae0-0b2525024aef\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"37116693-5bff-43df-a978-d90c3943fa5e\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"firebrick\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"firebrick\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"69415515-765b-446b-9a1a-9ab1e450c1d5\",\"type\":\"Triangle\"},{\"attributes\":{},\"id\":\"6fe9e7e8-82fc-487d-8e4a-b24b22379933\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":null,\"text\":null},\"id\":\"82410dd2-d58e-4801-a708-1022621003f3\",\"type\":\"Title\"}],\"root_ids\":[\"6fae3c10-739d-4b3d-b25e-86b31cccbba7\"]},\"title\":\"Bokeh Application\",\"version\":\"0.12.1\"}};\n",
       "            var render_items = [{\"docid\":\"a5777d7d-c3ac-45ca-a58b-82d27184fc0e\",\"elementid\":\"2eab3d1f-3fb4-49e7-b76f-f2132d2e1ebd\",\"modelid\":\"6fae3c10-739d-4b3d-b25e-86b31cccbba7\",\"notebook_comms_target\":\"6fdb0964-b54a-4479-a1f6-235600a5705c\"}];\n",
       "            \n",
       "            Bokeh.embed.embed_items(docs_json, render_items);\n",
       "        });\n",
       "      },\n",
       "      function(Bokeh) {\n",
       "      }\n",
       "    ];\n",
       "  \n",
       "    function run_inline_js() {\n",
       "      for (var i = 0; i < inline_js.length; i++) {\n",
       "        inline_js[i](window.Bokeh);\n",
       "      }\n",
       "    }\n",
       "  \n",
       "    if (window._bokeh_is_loading === 0) {\n",
       "      console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
       "      run_inline_js();\n",
       "    } else {\n",
       "      load_libs(js_urls, function() {\n",
       "        console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n",
       "        run_inline_js();\n",
       "      });\n",
       "    }\n",
       "  }(this));\n",
       "</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<p><code>&lt;Bokeh Notebook handle for <strong>In[3]</strong>&gt;</code></p>"
      ],
      "text/plain": [
       "<bokeh.io._CommsHandle at 0x10d126e50>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# prepare some data\n",
    "N = 100\n",
    "x = np.linspace(0, 4*np.pi, N)\n",
    "y0 = np.sin(x)\n",
    "y1 = np.cos(x)\n",
    "y2 = np.sin(x) + np.cos(x)\n",
    "\n",
    "# create a new plot\n",
    "s1 = figure(width=250, plot_height=250, title=None)\n",
    "s1.circle(x, y0, size=10, color=\"navy\", alpha=0.5)\n",
    "\n",
    "# NEW: create a new plot and share both ranges\n",
    "s2 = figure(width=250, height=250, x_range=s1.x_range, y_range=s1.y_range, title=None)\n",
    "s2.triangle(x, y1, size=10, color=\"firebrick\", alpha=0.5)\n",
    "\n",
    "# NEW: create a new plot and share only one range\n",
    "s3 = figure(width=250, height=250, x_range=s1.x_range, title=None)\n",
    "s3.square(x, y2, size=10, color=\"olive\", alpha=0.5)\n",
    "\n",
    "# NEW: put the subplots in a gridplot\n",
    "p = gridplot([[s1, s2, s3]], toolbar_location=None)\n",
    "\n",
    "# show the results\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
